<?php

/**
 * UserIdentity represents the data needed to identity a user.
 * It contains the authentication method that checks if the provided
 * data can identity the user.
 */
class AdminIdentity extends CUserIdentity
{
	private $_id;
	
	public function authenticate() {
		$user = Manager::model()->find("status=1 AND username='{$this->username}'");
		if($user === null) {
			$this->errorCode = self::ERROR_USERNAME_INVALID;
		} else if(!$user->checkPassword($this->password, $user->password)) {
			$this->errorCode = self::ERROR_PASSWORD_INVALID;
		} else {
			$this->_id = $user->id;
			$this->username = $user->username;
			$this->errorCode = self::ERROR_NONE;
			
			//assigned role
			/*
			$auth=Yii::app()->authManager;
			if(!$auth->isAssigned($user->role,$this->_id))
			{
				if($auth->assign($user->role,$this->_id))
				{
					Yii::app()->authManager->save();
				}
			}
			*/
		}
		return $this->errorCode == self::ERROR_NONE;
	}
	
	public function getId() {
		return $this->_id;
	}
}